package com.xyht.sca_s.student_manage_system.modules.clockIn.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xyht.sca_s.student_manage_system.common.commonReturn.ResponseResult;
import com.xyht.sca_s.student_manage_system.modules.clockIn.entity.SmsClockInApply;
import com.xyht.sca_s.student_manage_system.modules.clockIn.entity.req.SmsClockInApplyAddReq;
import com.xyht.sca_s.student_manage_system.modules.clockIn.entity.req.SmsClockInApplyAllowReq;
import com.xyht.sca_s.student_manage_system.modules.clockIn.entity.req.SmsClockInApplyHistoryReq;
import com.xyht.sca_s.student_manage_system.modules.clockIn.entity.req.SmsClockInHistoryReq;

import javax.servlet.http.HttpServletResponse;
import java.util.concurrent.Future;

/**
 * <p>
 * 补卡申请表 服务类
 * </p>
 *
 * @author XYHT
 * @since 2023-08-03
 */
public interface SmsClockInApplyService extends IService<SmsClockInApply> {

    ResponseResult getAbnormalRecords(String userId, String abnormalDate);

    ResponseResult getClockInProcess();

    ResponseResult addRepairClockInApply(String userId, SmsClockInApplyAddReq applyAddReq);

    ResponseResult getRepairClockInApplyList(String userId, Integer applyType, Integer pageSize, Integer pageNum,String search_str);

    ResponseResult getRepairClockInApplyDetail(String applyId);

    ResponseResult allowRepairClockInApply(String userId, SmsClockInApplyAllowReq allowReq);

    ResponseResult getAllRepairClockInApply(Integer allowStatus,String applyName,Integer pageSize, Integer pageNum,String clockInDate);

    Future<ResponseResult> exportApplyHistory(SmsClockInApplyHistoryReq req, HttpServletResponse response);

    ResponseResult getAllRepairClockIn(String clockName, Integer pageSize, Integer pageNum, String clockInDate, Integer clockInType, Integer clockInState);

    Future<ResponseResult> exportExamineHistoryList(SmsClockInHistoryReq req, HttpServletResponse response);


}
